package com.lu.manage.modular.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lu.manage.core.common.exception.SysLogExcepetion;
import com.lu.manage.modular.system.model.DictType;

import java.util.Map;

/**
 * @Project LuBoot
 * @Author: zhanglu
 * @Date: 2019-11-17 00:46:19
 * @Description: 字典类型表 服务类
 */
public interface DictTypeService extends IService<DictType> {

    /**
     * 分页查询
     */
    Object listPage(Map<String, Object> map) throws SysLogExcepetion;

    /**
     * 列表查询
     */
    Object list(Map<String, Object> map) throws SysLogExcepetion;

    /**
     * 添加
     */
    Object addObj(DictType dictType) throws SysLogExcepetion;

    /**
     * 修改
     */
    Object updateObj(DictType dictType) throws SysLogExcepetion;

    /**
     * 删除
     */
    Object deleteObj(String data) throws SysLogExcepetion;

    /**
     * 字典类型树
     */
    Object dictTypeTreeList();

    /**
     * 排序
     */
    void sortAllDictTypes(String nodes);

    /**
     * 修改状态
     *  - 修改本表
     *  - 修改与之关联的子表
     * @param id
     * @param state
     */
    void updateState(String id, Integer state);
}
